# AI Assistant

Business users can ask questions about your organization's Cube data model and run queries using natural language.
AI Assistant is integrated with the [Playground][ref-playground] and [Semantic Catalog][ref-catalog] so that users can easily explore their results further.

<SuccessBox>

AI Assistant is available in Cube Cloud on
[Premium and above](https://cube.dev/pricing) tiers.
[Contact us](https://cube.dev/contact) for details.

</SuccessBox>

<Screenshot src="https://ucarecdn.com/9aee5273-e219-4ccc-aa5c-2c8b66a6c932/assistant.jpg" />

## Getting Started

AI Assistant is currently in preview. To get started, please ask your account team to enable AI Assistant for you.

Then, if you've already set up Semantic Catalog, you're ready to use AI Assistant. If you haven't, do the following to enable AI Asisstant:

1. In your Cube deployment sidebar, navigate to "Settings" and then "Catalog Services"
2. Click the button to enable the Catalog. This will connect your Cube data model and enable AI Assistant.
3. If you'd like to connect any downstream business intelligence tools, follow the [guide on the Semantic Catalog page][ref-catalog-downstream].

## Using AI Assistant

Users can ask questions and have conversations with the AI Assistant to better understand the data in your Cube data model, to pull data, and run basic analyses.
There are two specific types of questions that the AI Assistant can answer: catalog questions and data queries. These are described in more detail below.

### Catalog questions

A catalog question is a question about what data is available to the user or what particular data assets mean (for example, a dimension or measure).

**Example**

A user might want to do some analysis around geographies, but they're not sure if their organization already has dashboards about users' locations
or how granular their organization's data on user locations goes. They could ask:

> What info do we have about user locations?

The AI Assistant will reply with a summary and display the dashboards, charts, and/or Cube view(s) containing location information for the user to explore.

<Screenshot src="https://ucarecdn.com/0fb3768f-1b1a-42d5-89f0-38555b0c7427/Screenshot20240624at41011PM.png" />

### Data Queries

A data query is one where the user wants the AI Assistant to generate and run a Cube query, and return the results.
Users can get quick answers to questions instead of having to ask an analyst, file a ticket, or navigate a complex visualization tool.

**Example**

A sales analyst might want to know which cities orders are trending in lately. They could ask the following question:

> Where did we have the most orders last month?

The query will automatically run in the sidebar and can be opened in the [Playground][ref-playground] for further exploration.

<Screenshot src="https://ucarecdn.com/4249ff1e-fae1-42c8-ad3a-b9e406ea2022/Screenshot20240624at34327PM.png" />

## FAQ and limitations

### 1. What language model(s) does the AI Assistant use?

- The AI Assistant currently uses GPT-4o from OpenAI, but this may change in the future

### 2. Are conversations saved or used for training models?

- Per our terms with the LLM provider(s), they do not use the conversations for training models.
- They may save conversations for up to 30 days for abuse and fraud monitoring purposes.
- Note that customer data (i.e. the results of queries) is _never_ visible to the LLM in the AI Assistant.

### 3. Can the LLM hallucinate or give incorrect results?

- We make every effort to avoid hallucinations and incorrect results. However, the nature of AI-based systems is that they may make mistakes from time to time.
- If the model hallucinates data assets (such as dimensions, measures, or views) that don't exist, the user will see an error in the playground. It will _never_ return "fake" data, as a valid Cube query is needed to display results.

### 4. How can I give feedback or train the model?

- To give feedback to the model, use the thumbs-up and thumbs-down buttons that appear under each response.
- If a model is consistently getting something wrong, it may be a sign that the data model is confusing or incomplete. Check things like field labels and descriptions and make sure that irrelevant fields are not marked as visible in your Cube data model.

[ref-catalog]: /product/workspace/semantic-catalog
[ref-playground]: /product/workspace/playground
[ref-catalog-downstream]: /product/workspace/semantic-catalog#connecting-downstream-tools
